From 0aef43bcbcb208d7419711ffd48dd7942d538952 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Mon, 2 Apr 2001 22:45:19 +0000 Subject: [PATCH] Applied patch from Ron Steinke to add signal accumulators so that signals Mon Apr 2 16:41:08 2001 Owen Taylor * Applied patch from Ron Steinke to add signal accumulators so that signals with the convention 'TRUE return means handled' stop emission on a TRUE return. * gtk/gtkmain.[ch]: Add private accumulator _gtk_boolean_handled_accumulator, used throughout GTK+. * gtk/gtkspinbutton.c: Add accumulator for ::output. * gtk/gtktipsquery.c: Add accumulator for ::widget_selected * gtk/gtkwidget.c: Add accumulators for event signals, ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator for ::mnemonic-activate. * gtk/gtkwindow.c: Add accumulator for ::frame_event Mon Apr 2 16:24:21 2001 Owen Taylor * gtk/gtkwidget.c: Add missing include. --- ChangeLog | 23 +++ ChangeLog.pre-2-0 | 23 +++ ChangeLog.pre-2-10 | 23 +++ ChangeLog.pre-2-2 | 23 +++ ChangeLog.pre-2-4 | 23 +++ ChangeLog.pre-2-6 | 23 +++ ChangeLog.pre-2-8 | 23 +++ gtk/gtkmain.c | 14 ++ gtk/gtkmain.h | 6 + gtk/gtkspinbutton.c | 13 +- gtk/gtktipsquery.c | 21 +- gtk/gtkwidget.c | 466 +++++++++++++++++++++++--------------------- gtk/gtkwindow.c | 16 +- gtk/testgtkrc | 1 + tests/testgtkrc | 1 + 15 files changed, 449 insertions(+), 250 deletions(-) diff --git a/ChangeLog b/ChangeLog index c812cbfcaa..384df75a27 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +Mon Apr 2 16:41:08 2001 Owen Taylor + + * Applied patch from Ron Steinke to add signal accumulators + so that signals with the convention 'TRUE return means + handled' stop emission on a TRUE return. + + * gtk/gtkmain.[ch]: Add private accumulator + _gtk_boolean_handled_accumulator, used throughout GTK+. + + * gtk/gtkspinbutton.c: Add accumulator for ::output. + + * gtk/gtktipsquery.c: Add accumulator for ::widget_selected + + * gtk/gtkwidget.c: Add accumulators for event signals, + ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator + for ::mnemonic-activate. + + * gtk/gtkwindow.c: Add accumulator for ::frame_event + +Mon Apr 2 16:24:21 2001 Owen Taylor + + * gtk/gtkwidget.c: Add missing include. + Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index c812cbfcaa..384df75a27 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,26 @@ +Mon Apr 2 16:41:08 2001 Owen Taylor + + * Applied patch from Ron Steinke to add signal accumulators + so that signals with the convention 'TRUE return means + handled' stop emission on a TRUE return. + + * gtk/gtkmain.[ch]: Add private accumulator + _gtk_boolean_handled_accumulator, used throughout GTK+. + + * gtk/gtkspinbutton.c: Add accumulator for ::output. + + * gtk/gtktipsquery.c: Add accumulator for ::widget_selected + + * gtk/gtkwidget.c: Add accumulators for event signals, + ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator + for ::mnemonic-activate. + + * gtk/gtkwindow.c: Add accumulator for ::frame_event + +Mon Apr 2 16:24:21 2001 Owen Taylor + + * gtk/gtkwidget.c: Add missing include. + Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index c812cbfcaa..384df75a27 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,26 @@ +Mon Apr 2 16:41:08 2001 Owen Taylor + + * Applied patch from Ron Steinke to add signal accumulators + so that signals with the convention 'TRUE return means + handled' stop emission on a TRUE return. + + * gtk/gtkmain.[ch]: Add private accumulator + _gtk_boolean_handled_accumulator, used throughout GTK+. + + * gtk/gtkspinbutton.c: Add accumulator for ::output. + + * gtk/gtktipsquery.c: Add accumulator for ::widget_selected + + * gtk/gtkwidget.c: Add accumulators for event signals, + ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator + for ::mnemonic-activate. + + * gtk/gtkwindow.c: Add accumulator for ::frame_event + +Mon Apr 2 16:24:21 2001 Owen Taylor + + * gtk/gtkwidget.c: Add missing include. + Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index c812cbfcaa..384df75a27 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,26 @@ +Mon Apr 2 16:41:08 2001 Owen Taylor + + * Applied patch from Ron Steinke to add signal accumulators + so that signals with the convention 'TRUE return means + handled' stop emission on a TRUE return. + + * gtk/gtkmain.[ch]: Add private accumulator + _gtk_boolean_handled_accumulator, used throughout GTK+. + + * gtk/gtkspinbutton.c: Add accumulator for ::output. + + * gtk/gtktipsquery.c: Add accumulator for ::widget_selected + + * gtk/gtkwidget.c: Add accumulators for event signals, + ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator + for ::mnemonic-activate. + + * gtk/gtkwindow.c: Add accumulator for ::frame_event + +Mon Apr 2 16:24:21 2001 Owen Taylor + + * gtk/gtkwidget.c: Add missing include. + Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index c812cbfcaa..384df75a27 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,26 @@ +Mon Apr 2 16:41:08 2001 Owen Taylor + + * Applied patch from Ron Steinke to add signal accumulators + so that signals with the convention 'TRUE return means + handled' stop emission on a TRUE return. + + * gtk/gtkmain.[ch]: Add private accumulator + _gtk_boolean_handled_accumulator, used throughout GTK+. + + * gtk/gtkspinbutton.c: Add accumulator for ::output. + + * gtk/gtktipsquery.c: Add accumulator for ::widget_selected + + * gtk/gtkwidget.c: Add accumulators for event signals, + ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator + for ::mnemonic-activate. + + * gtk/gtkwindow.c: Add accumulator for ::frame_event + +Mon Apr 2 16:24:21 2001 Owen Taylor + + * gtk/gtkwidget.c: Add missing include. + Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index c812cbfcaa..384df75a27 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,26 @@ +Mon Apr 2 16:41:08 2001 Owen Taylor + + * Applied patch from Ron Steinke to add signal accumulators + so that signals with the convention 'TRUE return means + handled' stop emission on a TRUE return. + + * gtk/gtkmain.[ch]: Add private accumulator + _gtk_boolean_handled_accumulator, used throughout GTK+. + + * gtk/gtkspinbutton.c: Add accumulator for ::output. + + * gtk/gtktipsquery.c: Add accumulator for ::widget_selected + + * gtk/gtkwidget.c: Add accumulators for event signals, + ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator + for ::mnemonic-activate. + + * gtk/gtkwindow.c: Add accumulator for ::frame_event + +Mon Apr 2 16:24:21 2001 Owen Taylor + + * gtk/gtkwidget.c: Add missing include. + Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index c812cbfcaa..384df75a27 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,26 @@ +Mon Apr 2 16:41:08 2001 Owen Taylor + + * Applied patch from Ron Steinke to add signal accumulators + so that signals with the convention 'TRUE return means + handled' stop emission on a TRUE return. + + * gtk/gtkmain.[ch]: Add private accumulator + _gtk_boolean_handled_accumulator, used throughout GTK+. + + * gtk/gtkspinbutton.c: Add accumulator for ::output. + + * gtk/gtktipsquery.c: Add accumulator for ::widget_selected + + * gtk/gtkwidget.c: Add accumulators for event signals, + ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator + for ::mnemonic-activate. + + * gtk/gtkwindow.c: Add accumulator for ::frame_event + +Mon Apr 2 16:24:21 2001 Owen Taylor + + * gtk/gtkwidget.c: Add missing include. + Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index a1ea91bb8a..853c0ced30 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1683,3 +1683,17 @@ gtk_print (gchar *str) gtk_widget_show (window); } #endif + +gboolean +_gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer dummy) +{ + gboolean val; + + val = g_value_get_boolean (handler_return); + g_value_set_boolean (return_accu, val); + + return !val; +} diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 26d7a5b380..083b0ba98b 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -193,6 +193,12 @@ GtkWidget* gtk_get_event_widget (GdkEvent *event); void gtk_propagate_event (GtkWidget *widget, GdkEvent *event); +gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer dummy); + + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 9ce969b988..364b5a5617 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -243,12 +243,13 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) GTK_TYPE_INT, 1, GTK_TYPE_POINTER); spinbutton_signals[OUTPUT] = - gtk_signal_new ("output", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkSpinButtonClass, output), - gtk_marshal_BOOLEAN__VOID, - GTK_TYPE_BOOL, 0); + g_signal_newc("output", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkSpinButtonClass, output), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__VOID, + G_TYPE_BOOLEAN, 0); spinbutton_signals[VALUE_CHANGED] = gtk_signal_new ("value_changed", diff --git a/gtk/gtktipsquery.c b/gtk/gtktipsquery.c index a4f38a4630..355a8b1490 100644 --- a/gtk/gtktipsquery.c +++ b/gtk/gtktipsquery.c @@ -159,16 +159,17 @@ gtk_tips_query_class_init (GtkTipsQueryClass *class) GTK_TYPE_STRING, GTK_TYPE_STRING); tips_query_signals[SIGNAL_WIDGET_SELECTED] = - gtk_signal_new ("widget_selected", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTipsQueryClass, widget_selected), - gtk_marshal_BOOLEAN__OBJECT_STRING_STRING_BOXED, - GTK_TYPE_BOOL, 4, - GTK_TYPE_WIDGET, - GTK_TYPE_STRING, - GTK_TYPE_STRING, - GTK_TYPE_GDK_EVENT); + g_signal_newc("widget_selected", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkTipsQueryClass, widget_selected), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__OBJECT_STRING_STRING_BOXED, + G_TYPE_BOOLEAN, 4, + GTK_TYPE_WIDGET, + G_TYPE_STRING, + G_TYPE_STRING, + GTK_TYPE_GDK_EVENT); } static void diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 30e151ead3..945f178434 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -33,6 +33,7 @@ #include "gtkmain.h" #include "gtkrc.h" #include "gtkselection.h" +#include "gtksettings.h" #include "gtksignal.h" #include "gtkwidget.h" #include "gtkwindow.h" @@ -260,22 +261,6 @@ gtk_widget_get_type (void) return widget_type; } -static gboolean -accumulator_stop_handled_emission (GSignalInvocationHint *ihint, - GValue *return_accu, - const GValue *handler_return, - gpointer data) -{ - gboolean continue_emission; - gboolean signal_handled; - - signal_handled = g_value_get_boolean (handler_return); - g_value_set_boolean (return_accu, signal_handled); - continue_emission = !signal_handled; - - return continue_emission; -} - /***************************************** * gtk_widget_class_init: * @@ -632,7 +617,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GTK_CLASS_TYPE (object_class), GTK_RUN_LAST, GTK_SIGNAL_OFFSET (GtkWidgetClass, mnemonic_activate), - accumulator_stop_handled_emission, NULL, + _gtk_boolean_handled_accumulator, NULL, gtk_marshal_BOOLEAN__BOOLEAN, GTK_TYPE_BOOL, 1, GTK_TYPE_BOOL); @@ -644,173 +629,194 @@ gtk_widget_class_init (GtkWidgetClass *klass) gtk_marshal_VOID__VOID, GTK_TYPE_NONE, 0); widget_signals[EVENT] = - gtk_signal_new ("event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[BUTTON_PRESS_EVENT] = - gtk_signal_new ("button_press_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, button_press_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("button_press_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, button_press_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[BUTTON_RELEASE_EVENT] = - gtk_signal_new ("button_release_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, button_release_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("button_release_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, button_release_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[SCROLL_EVENT] = - gtk_signal_new ("scroll_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, scroll_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("scroll_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, scroll_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[MOTION_NOTIFY_EVENT] = - gtk_signal_new ("motion_notify_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, motion_notify_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("motion_notify_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, motion_notify_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[DELETE_EVENT] = - gtk_signal_new ("delete_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, delete_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("delete_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, delete_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[DESTROY_EVENT] = - gtk_signal_new ("destroy_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, destroy_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("destroy_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, destroy_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[EXPOSE_EVENT] = - gtk_signal_new ("expose_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, expose_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("expose_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, expose_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[KEY_PRESS_EVENT] = - gtk_signal_new ("key_press_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, key_press_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("key_press_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, key_press_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[KEY_RELEASE_EVENT] = - gtk_signal_new ("key_release_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, key_release_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("key_release_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, key_release_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[ENTER_NOTIFY_EVENT] = - gtk_signal_new ("enter_notify_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, enter_notify_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("enter_notify_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, enter_notify_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[LEAVE_NOTIFY_EVENT] = - gtk_signal_new ("leave_notify_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, leave_notify_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("leave_notify_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, leave_notify_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[CONFIGURE_EVENT] = - gtk_signal_new ("configure_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, configure_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("configure_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, configure_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[FOCUS_IN_EVENT] = - gtk_signal_new ("focus_in_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, focus_in_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("focus_in_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, focus_in_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[FOCUS_OUT_EVENT] = - gtk_signal_new ("focus_out_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, focus_out_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("focus_out_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, focus_out_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[MAP_EVENT] = - gtk_signal_new ("map_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, map_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("map_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, map_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[UNMAP_EVENT] = - gtk_signal_new ("unmap_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, unmap_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("unmap_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, unmap_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[PROPERTY_NOTIFY_EVENT] = - gtk_signal_new ("property_notify_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, property_notify_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("property_notify_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, property_notify_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[SELECTION_CLEAR_EVENT] = - gtk_signal_new ("selection_clear_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_clear_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("selection_clear_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, selection_clear_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[SELECTION_REQUEST_EVENT] = - gtk_signal_new ("selection_request_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_request_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("selection_request_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, selection_request_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[SELECTION_NOTIFY_EVENT] = - gtk_signal_new ("selection_notify_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_notify_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("selection_notify_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, selection_notify_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[SELECTION_RECEIVED] = gtk_signal_new ("selection_received", GTK_RUN_LAST, @@ -831,21 +837,23 @@ gtk_widget_class_init (GtkWidgetClass *klass) GTK_TYPE_UINT, GTK_TYPE_UINT); widget_signals[PROXIMITY_IN_EVENT] = - gtk_signal_new ("proximity_in_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, proximity_in_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("proximity_in_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, proximity_in_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[PROXIMITY_OUT_EVENT] = - gtk_signal_new ("proximity_out_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, proximity_out_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("proximity_out_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, proximity_out_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[DRAG_LEAVE] = gtk_signal_new ("drag_leave", GTK_RUN_LAST, @@ -880,27 +888,29 @@ gtk_widget_class_init (GtkWidgetClass *klass) GTK_TYPE_NONE, 1, GDK_TYPE_DRAG_CONTEXT); widget_signals[DRAG_MOTION] = - gtk_signal_new ("drag_motion", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_motion), - gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT, - GTK_TYPE_BOOL, 4, - GDK_TYPE_DRAG_CONTEXT, - GTK_TYPE_INT, - GTK_TYPE_INT, - GTK_TYPE_UINT); + g_signal_newc("drag_motion", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, drag_motion), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT, + G_TYPE_BOOLEAN, 4, + GDK_TYPE_DRAG_CONTEXT, + G_TYPE_INT, + G_TYPE_INT, + G_TYPE_UINT); widget_signals[DRAG_DROP] = - gtk_signal_new ("drag_drop", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_drop), - gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT, - GTK_TYPE_BOOL, 4, - GDK_TYPE_DRAG_CONTEXT, - GTK_TYPE_INT, - GTK_TYPE_INT, - GTK_TYPE_UINT); + g_signal_newc("drag_drop", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, drag_drop), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT, + G_TYPE_BOOLEAN, 4, + GDK_TYPE_DRAG_CONTEXT, + G_TYPE_INT, + G_TYPE_INT, + G_TYPE_UINT); widget_signals[DRAG_DATA_GET] = gtk_signal_new ("drag_data_get", GTK_RUN_LAST, @@ -926,37 +936,41 @@ gtk_widget_class_init (GtkWidgetClass *klass) GTK_TYPE_UINT, GTK_TYPE_UINT); widget_signals[VISIBILITY_NOTIFY_EVENT] = - gtk_signal_new ("visibility_notify_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, visibility_notify_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("visibility_notify_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, visibility_notify_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[CLIENT_EVENT] = - gtk_signal_new ("client_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, client_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("client_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, client_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[NO_EXPOSE_EVENT] = - gtk_signal_new ("no_expose_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, no_expose_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("no_expose_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, no_expose_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[WINDOW_STATE_EVENT] = - gtk_signal_new ("window_state_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, window_state_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); + g_signal_newc("window_state_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWidgetClass, window_state_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); widget_signals[POPUP_MENU] = gtk_signal_new ("popup_menu", diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 901f9c76e4..f276d85c12 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -401,14 +401,14 @@ gtk_window_class_init (GtkWindowClass *klass) GTK_TYPE_WIDGET); window_signals[FRAME_EVENT] = - gtk_signal_new ("frame_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWindowClass, frame_event), - gtk_marshal_BOOLEAN__BOXED, - GTK_TYPE_BOOL, 1, - GTK_TYPE_GDK_EVENT); - + g_signal_newc("frame_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkWindowClass, frame_event), + _gtk_boolean_handled_accumulator, NULL, + gtk_marshal_BOOLEAN__BOXED, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_GDK_EVENT); if (!mnemonic_hash_table) mnemonic_hash_table = g_hash_table_new (mnemonic_hash, diff --git a/gtk/testgtkrc b/gtk/testgtkrc index 4abd0853d1..2772f40691 100644 --- a/gtk/testgtkrc +++ b/gtk/testgtkrc @@ -32,6 +32,7 @@ style "global-style-properties" { # xthickness = 20 GtkSpinButton::shadow_type = etched-out + GtkEntry::cursor_color = { 1.0, 0.0, 0.0 } } class "GtkWidget" style "global-style-properties" diff --git a/tests/testgtkrc b/tests/testgtkrc index 4abd0853d1..2772f40691 100644 --- a/tests/testgtkrc +++ b/tests/testgtkrc @@ -32,6 +32,7 @@ style "global-style-properties" { # xthickness = 20 GtkSpinButton::shadow_type = etched-out + GtkEntry::cursor_color = { 1.0, 0.0, 0.0 } } class "GtkWidget" style "global-style-properties" -- 2.30.2